In various applications it is frequently desirable to have a machine which can recognize and read visual indicia. For example, at many airports, the license plates of automobiles entering the airport are read and entered by a computer. For another example, it is desirable to have a machine read visual indicia in connection with the fabrication and processing of integrated circuits.
During fabrication of an integrated circuit on a semiconductor wafer, it is desirable to be able to track each wafer through the various steps in the fabrication process. For this purpose, a unique identifier is often assigned to each wafer to allow for such tracking. The identifier may have multiple alphanumeric characters in a wide variety of fonts. It is frequently desirable to have a machine read the identifier. For example, in a closed lid process, it may be desirable to have a machine read the identifier and download the appropriate recipe for fabrication of the specific wafer based on the lot number associated with the identifier.
One approach to having a machine read the identifier on a wafer has been to use a pixel-by-pixel comparison of the identifier with a stored set of bit maps for each possible character which may be used to form the identifier. This approach often requires large amounts of computer memory and a multitude of comparisons in order to identify each character of the identifier. Because of the large memory requirement and the large number of comparisons required to identify each character, additional expensive hardware is often required to allow the machine to recognize and read the characters in a reasonable time period.